﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;




namespace LectorHuellaC
{
    public partial class Configuracion : Form
    {
        string statusConection = "";
        String versionapp = "A 1.0";
        public void tipoConexion(String conection)
        {
            statusConection = conection;
            label5.Text = statusConection;
        }
        public Configuracion()
        {
            InitializeComponent();
            label1.Text = statusConection;
            string id_empresa = Settings1.Default.id_empresa.ToString();
            string IdSucursal = Settings1.Default.IdSucursal;
            this.Text = ":: Reloj Checador :: " + versionapp + " (" + this.Text + ")";
           
           
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult respuesta = MessageBox.Show("¿Esta seguro que desea actualizar los parametros de configuración para esta sucursal?", "Actualizar Configuración", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (respuesta == DialogResult.No)
            {
                return;
            }

            Settings1.Default.id_empresa = txtIdEmpresa.Text;
            Settings1.Default.IdSucursal = txtIdSucursal.Text;
            Settings1.Default.NombreEmpresa = txtEmpresaActual.Text;
            Settings1.Default.NombreSucursal = txtSucursalActual.Text;
            Settings1.Default.Save();
            MessageBox.Show("Datos Actualizados", "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.Close();
        }

        private void Configuracion_Load(object sender, EventArgs e)
        {
            string id_empresa = Settings1.Default.id_empresa.ToString();
            string IdSucursal = Settings1.Default.IdSucursal.ToString();
            string NombreEmpresa = Settings1.Default.NombreEmpresa.ToString();
            string NombreSucursal = Settings1.Default.NombreSucursal.ToString();

            if (id_empresa != "0")
            {
                txtIdEmpresa.Text = id_empresa;
                txtIdSucursal.Text = IdSucursal;
                txtEmpresaActual.Text = NombreEmpresa;
                txtSucursalActual.Text = NombreSucursal;
            }
            else
            {
                txtIdEmpresa.Text = id_empresa;
                txtIdSucursal.Text = IdSucursal;
                txtEmpresaActual.Text = "Valor no establecido";
                txtSucursalActual.Text = "Valor no establecido";                
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        
        private void ConsultaEmpresas(string id_empresa)
        {
            cmbEmpresa.DataSource = null;
            cmbEmpresa.Items.Clear();

            ConectaBD conBD = new ConectaBD();
                DataSet ds1 = conBD.Consulta("Select Id_Empresa, Empresa from cat_empresa ");

            if (ds1.Tables.Count == 0)
                {
                    MessageBox.Show("Error en la consulta de Catalogos (T)", "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

            if (ds1.Tables["Resultado"].Rows.Count == 0)
            {
                MessageBox.Show("Error en la consulta de catalogos", "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            ArrayList arreglo1 = new ArrayList();
            foreach (DataRow dr2 in ds1.Tables["Resultado"].Rows)
            {
                arreglo1.Add(new ConectaBD.clsEmpresas(dr2["Empresa"].ToString(), dr2["Id_Empresa"].ToString()));
            }

            cmbEmpresa.DataSource = arreglo1;
            cmbEmpresa.DisplayMember = "Empresa";
            cmbEmpresa.ValueMember = "Id_Empresa";
            cmbEmpresa_SelectedIndexChanged(cmbEmpresa, System.EventArgs.Empty);
        }

        private void ConsultaSucursales(string id_empresa)
        {
            cmbSucursal.DataSource = null;
            cmbSucursal.Items.Clear();

            ConectaBD conBD = new ConectaBD();
            DataSet ds = conBD.Consulta("Select id_empresa, id_sucursal, sc_nombre from catsucursales Where id_empresa = " + id_empresa + " order by sc_nombre");
            if (ds.Tables.Count == 0)
            {
                MessageBox.Show("Error en la consulta de Catalogos (T)", "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (ds.Tables["Resultado"].Rows.Count == 0)
            {
                MessageBox.Show("Error en la consulta de catalogos", "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            ArrayList arreglo = new ArrayList();
            foreach (DataRow dr2 in ds.Tables["Resultado"].Rows)
            {
                arreglo.Add(new ConectaBD.clsSucursales(dr2["sc_nombre"].ToString(), dr2["id_sucursal"].ToString()));
            }

            cmbSucursal.DataSource = arreglo;
            cmbSucursal.DisplayMember = "sc_nombre";
            cmbSucursal.ValueMember = "id_sucursal";
            cmbSucursal_SelectedIndexChanged(cmbSucursal, System.EventArgs.Empty);

        }


        private void cmbEmpresa_SelectedValueChanged(object sender, EventArgs e)
        {
            string IdEmpresaCmb;            
            IdEmpresaCmb = Convert.ToString(cmbEmpresa.SelectedValue);
            if (IdEmpresaCmb.Length < 10) // si es numerico
            {
                ConsultaSucursales(IdEmpresaCmb);
                txtIdEmpresa.Text = IdEmpresaCmb;
                txtEmpresaActual.Text = cmbEmpresa.Text;
            }
        }

        private void cmbSucursal_SelectedValueChanged(object sender, EventArgs e)
        {
            string IdSucursalCmb;
            IdSucursalCmb = Convert.ToString(cmbSucursal.SelectedValue);
            if (IdSucursalCmb.Length < 10) // si es numerico
            {
                txtIdSucursal.Text = IdSucursalCmb;
                txtSucursalActual.Text = cmbSucursal.Text;
            }

        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (this.checkBox1.Checked == true)
            {
                cmbEmpresa.Enabled = true;
                cmbSucursal.Enabled = true;
                ConsultaEmpresas("1"); // Llena el combo de empresas
            }
            else
            {
                cmbEmpresa.Enabled = false;
                cmbSucursal.Enabled = false;                
            }
        }

        private void cmbEmpresa_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void cmbSucursal_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}
